// 工具类
import util from './util.js';
/**
 * 倒计时类
 */

module.exports = {
    onSetTimeList(page, dataIndex) {
        let _this = this; // 获取当前时间，同时得到活动结束时间数组

        let newTime = new Date().getTime(),
            newData = []; // 对结束时间进行处理渲染到页面

        page.data[dataIndex].forEach((item) => {
            let endTime = new Date(util.format_date(item.date)).getTime();
            let dynamic = {
                // day: '00',
                hou: '00',
                min: '00',
                sec: '00'
            }; // 如果活动未结束，对时间进行处理

            if (endTime - newTime > 0) {
                let diffTime = (endTime - newTime) / 1000; // 获取时、分、秒
                // day = parseInt(diffTime / 86400),

                let hou = parseInt(diffTime / 3600),
                    min = parseInt((diffTime % 3600) / 60),
                    sec = parseInt((diffTime % 3600) % 60);
                dynamic = {
                    hou: _this.timeFormat(hou),
                    min: _this.timeFormat(min),
                    sec: _this.timeFormat(sec)
                };
            }

            newData.push({
                date: item.date,
                dynamic
            });
        }); // 渲染，然后每隔一秒执行一次倒计时函数

        page[dataIndex] = newData;

        setTimeout(() => {
            this.onSetTimeList(page, dataIndex);
        }, 1000);
    },

    /**
     * 小于10的格式化函数
     */
    timeFormat(param) {
        return param < 10 ? '0' + param : param;
    }
};
